Package-level declarations

Types

Link copied to clipboard
data class NoahAccountHolderDetails(val name: NoahPersonName? = null)

Information about the holder of a Noah payment method.

Link copied to clipboard
data class NoahAmountCondition(val comparisonOperator: String, val value: String)

A single amount comparison condition for a deposit-source trigger.

Link copied to clipboard
data class NoahBankAddress(val street: String? = null, val street2: String? = null, val city: String? = null, val postCode: String? = null, val state: String? = null, val country: String? = null)

Bank address shape returned by Noah. Mirrors connect-api's NoahBankAddress after the BFF's pascal-to-camel formatter (Street/Street2/City/PostCode/State/Country).

Link copied to clipboard
data class NoahBankDetails(val paymentMethodId: String, val paymentMethodType: String, val accountNumber: String, val cryptoCurrency: String, val network: String, val fee: NoahFeeDetails, val accountHolderName: String? = null, val bankCode: String? = null, val bankName: String? = null, val bankAddress: NoahBankAddress? = null, val reference: String? = null, val relatedPaymentMethods: List<NoahBankToAddressRelatedPaymentMethod>? = null)

Bank details returned by NoahInitiatePayinResponse used to fund the payin.

Link copied to clipboard
data class NoahBankToAddressRelatedPaymentMethod(val paymentMethodId: String, val paymentMethodType: String, val fee: NoahFeeDetails, val details: NoahBankToAddressRelatedPaymentMethodDetails? = null)

Related payment method tied to bank-to-address payin instructions.

data class NoahBankToAddressRelatedPaymentMethodDetails(val accountNumber: String? = null, val bankCode: String? = null)

Optional details on a related payment method (account/bank identifiers).

Link copied to clipboard
data class NoahBusinessFee(val feeBase: String? = null, val feePct: String? = null, val fiatCurrency: String? = null)

Optional business (partner) fee applied to a Noah payout or payin.

Link copied to clipboard
data class NoahChannel(val id: String, val paymentMethodCategory: String, val paymentMethodType: String, val fiatCurrency: String, val country: String, val limits: NoahChannelLimits, val rate: String, val processingSeconds: Int, val calculated: NoahChannelCalculated? = null, val paymentMethods: List<NoahChannelPaymentMethodDisplay>? = null, val processingTier: String? = null, val formSchema: Map<String, Any>? = null, val formMetadata: NoahFormMetadata? = null, val issuer: String? = null)

A Noah payout channel describing a way to off-ramp into fiat.

Link copied to clipboard
data class NoahChannelCalculated(val totalFee: String)

Server-calculated channel fee values for a given payout context.

Link copied to clipboard
data class NoahChannelLimits(val minLimit: String, val maxLimit: String? = null)

Min/max amount limits for a payout channel, expressed in the channel's fiat currency.

Link copied to clipboard
data class NoahChannelPaymentMethodDisplay(val id: String, val paymentMethodType: String, val details: NoahPaymentMethodDisplayDetails, val accountHolderDetails: NoahAccountHolderDetails? = null, val issuerDetails: NoahIssuerDetails? = null)

Display payload for a recent payment method attached to a channel.

Link copied to clipboard

Comparison operator accepted by Noah's AmountCondition. The BFF currently forwards this string to Noah unchanged; Noah accepts EQ, LTEQ, or GTEQ.

Link copied to clipboard

Noah customer type. Validated server-side by isNoahCustomerType in connect-api.

Link copied to clipboard
data class NoahDepositSourceTriggerCondition(val amountConditions: List<NoahAmountCondition>, val cryptoCurrency: String, val network: String, val destinationAddress: String)

Condition that must be met for the on-chain deposit to be picked up by Noah.

Link copied to clipboard
data class NoahFeeDetails(val fiatCurrencyCode: String, val totalFeePct: String, val totalFeeBase: String, val totalFeeMin: String)

Fee breakdown returned with payin bank details. Mirrors connect-api's NoahFeeDetails.

Link copied to clipboard
data class NoahFiatOption(val fiatCurrencyCode: String)

A fiat option offered to the customer during KYC.

Link copied to clipboard
data class NoahFormMetadata(val contentHash: String)

Metadata describing the schema content for a Noah form (channel-form or channel inline form).

Link copied to clipboard
data class NoahFormNextStep(val stepId: String, val stepType: NoahFormNextStepType, val schema: Map<String, Any>? = null)

Next step in a Noah multi-step form flow.

Link copied to clipboard

Type of a Noah form step.

Link copied to clipboard
data class NoahGetPaymentMethodsData(val paymentMethods: List<NoahPaymentMethod>, val pageToken: String? = null)

Successful payment-methods payload with optional pagination cursor.

Link copied to clipboard
data class NoahGetPaymentMethodsRequest(val pageSize: Int? = null, val pageToken: String? = null, val capability: NoahPaymentMethodCapability? = null)

Query parameters for GET /api/v3/clients/me/integrations/noah/payouts/payment-methods.

Link copied to clipboard

Response from GET /api/v3/clients/me/integrations/noah/payouts/payment-methods.

Link copied to clipboard
data class NoahGetPayoutChannelFormData(val formSchema: Map<String, Any>? = null, val formMetadata: NoahFormMetadata? = null)

Form schema describing the inputs required to request a quote for a given payout channel.

Link copied to clipboard

Response from GET /api/v3/clients/me/integrations/noah/payouts/channels/{channelId}/form.

Link copied to clipboard
data class NoahGetPayoutChannelsData(val items: List<NoahChannel>, val pageToken: String? = null)

Successful payout channels payload with optional pagination cursor.

Link copied to clipboard
data class NoahGetPayoutChannelsRequest(val cryptoCurrency: String, val country: String? = null, val fiatCurrency: String? = null, val fiatAmount: String? = null, val paymentMethodId: String? = null, val pageSize: Int? = null, val pageToken: String? = null)

Query parameters for GET /api/v3/clients/me/integrations/noah/payouts/channels.

Link copied to clipboard

Response from GET /api/v3/clients/me/integrations/noah/payouts/channels.

Link copied to clipboard
data class NoahGetPayoutCountriesData(val countries: Map<String, List<String>>)

Successful payload mapping ISO-3166 country code -> list of fiat currency codes.

Link copied to clipboard

Response from GET /api/v3/clients/me/integrations/noah/payouts/countries.

Link copied to clipboard
data class NoahGetPayoutQuoteData(val payoutId: String, val totalFee: String, val cryptoAmountEstimate: String, val cryptoAuthorizedAmount: String, val formSessionId: String, val cryptoCurrency: String? = null, val fiatCurrency: String? = null, val fiatAmount: String? = null, val rate: String? = null, val breakdown: List<NoahTransactionBreakdownItem>? = null, val quote: NoahSellQuote? = null, val nextStep: NoahFormNextStep? = null)

Successful payout quote payload. May embed a nextStep when the multi-step form flow has more screens to collect from the user before NoahInitiatePayoutRequest can be sent.

Link copied to clipboard
data class NoahGetPayoutQuoteRequest(val channelId: String, val cryptoCurrency: String, val fiatAmount: String? = null, val cryptoAmount: String? = null, val quoted: Boolean? = null, val form: Map<String, Any>? = null, val fiatCurrency: String? = null, val paymentMethodId: String? = null, val formSessionId: String? = null, val businessFee: NoahBusinessFee? = null)

Request body for POST /api/v3/clients/me/integrations/noah/payouts/quote.

Link copied to clipboard
data class NoahGetPayoutQuoteResponse(val data: NoahGetPayoutQuoteData, val metadata: NoahResponseMetadata? = null)

Response from POST /api/v3/clients/me/integrations/noah/payouts/quote.

Link copied to clipboard
data class NoahInitiateKycData(val hostedUrl: String)

Successful KYC initiation payload containing the URL the client should redirect the end user to in order to complete the hosted KYC flow.

Link copied to clipboard
data class NoahInitiateKycRequest(val returnUrl: String, val fiatOptions: List<NoahFiatOption>? = null, val customerType: NoahCustomerType? = null, val metadata: Map<String, Any>? = null, val form: Map<String, Any>? = null)

Request body for POST /api/v3/clients/me/integrations/noah/customers/kyc.

Link copied to clipboard
data class NoahInitiateKycResponse(val data: NoahInitiateKycData, val metadata: NoahResponseMetadata? = null)

Response from POST /api/v3/clients/me/integrations/noah/customers/kyc.

Link copied to clipboard
data class NoahInitiatePayinData(val payinId: String, val bankDetails: NoahBankDetails)

Successful payin initiation payload containing the payin id and the bank details the end user should fund.

Link copied to clipboard
data class NoahInitiatePayinRequest(val fiatCurrency: String, val cryptoCurrency: String, val network: String, val destinationAddress: String, val businessFees: Map<String, NoahBusinessFee>? = null)

Request body for POST /api/v3/clients/me/integrations/noah/payins.

Link copied to clipboard
data class NoahInitiatePayinResponse(val data: NoahInitiatePayinData, val metadata: NoahResponseMetadata? = null)

Response from POST /api/v3/clients/me/integrations/noah/payins.

Link copied to clipboard
data class NoahInitiatePayoutData(val destinationAddress: String? = null, val conditions: List<NoahDepositSourceTriggerCondition>? = null, val ruleId: String? = null)

Successful payout initiation payload.

Link copied to clipboard
data class NoahInitiatePayoutRequest(val payoutId: String, val sourceAddress: String, val expiry: String, val nonce: String, val network: String, val trigger: NoahOnchainDepositSourceTrigger? = null, val businessFee: NoahBusinessFee? = null)

Request body for POST /api/v3/clients/me/integrations/noah/payouts.

Link copied to clipboard
data class NoahInitiatePayoutResponse(val data: NoahInitiatePayoutData, val metadata: NoahResponseMetadata? = null)

Response from POST /api/v3/clients/me/integrations/noah/payouts.

Link copied to clipboard
data class NoahIssuerDetails(val name: String? = null)

Information about the issuer (e.g. bank) of a Noah payment method.

Link copied to clipboard

Convenience constants for the CAIP-2 chain IDs that connect-api accepts in Noah network parameters.

Per-condition entry used inside permanent/quoted triggers. Unlike the single trigger, these conditions only constrain the network (no amount conditions). JSON keys use PascalCase to match the Noah API wire format.

Link copied to clipboard

The three Noah on-chain deposit source trigger variants accepted by POST /payouts. The wire shape is discriminated by the PascalCase Type field. Gson serializes the concrete runtime variant (including its SerializedName fields), so passing any implementation produces the correct JSON body.

Link copied to clipboard
data class NoahPaymentMethod(val id: String, val paymentMethodCategory: String, val country: String, val displayDetails: NoahPaymentMethodDisplayDetails, val customerId: String? = null, val capabilities: NoahPaymentMethodCapabilities? = null, val accountHolderDetails: NoahAccountHolderDetails? = null, val issuerDetails: NoahIssuerDetails? = null)

A saved Noah payment method available to the current customer.

Link copied to clipboard
data class NoahPaymentMethodCapabilities(val payoutFrom: Boolean, val payinTo: Boolean, val payoutTo: Boolean)

Per-payment-method capability flags (which Noah flows the method can be used in).

Link copied to clipboard

Capability filter accepted by the getPaymentMethods request. Validated by isNoahPaymentMethodCapability in connect-api.

Link copied to clipboard
data class NoahPaymentMethodDisplayDetails(val type: String, val accountNumber: String? = null, val bankCode: String? = null, val bankAddress: NoahBankAddress? = null, val last4: String? = null, val scheme: String? = null, val identifierType: String? = null, val identifier: String? = null)

Per-method display details (bank/card/identifier shapes flattened by the BFF).

data class NoahPermanentOnchainDepositSourceTriggerInput(val type: String = "PermanentOnchainDepositSourceTriggerInput", val conditions: List<NoahNetworkOnlyOnchainDepositSourceTriggerCondition>, val sourceAddress: String, val expiry: String, val nonce: String, val networkAgnostic: Boolean? = null) : NoahOnchainDepositSourceTrigger

Trigger that keeps a payout source active across multiple deposits (until expiry), rather than for a single matching amount. JSON keys use PascalCase to match the Noah API wire format.

Link copied to clipboard
data class NoahPersonName(val firstName: String, val lastName: String, val middleName: String? = null)

A person's name as a structured object, mirroring the shape Noah uses for account-holder names (FirstName / LastName / optional MiddleName).

data class NoahQuotedOnchainDepositSourceTriggerInput(val type: String = "QuotedOnchainDepositSourceTriggerInput", val signedQuote: String, val conditions: List<NoahNetworkOnlyOnchainDepositSourceTriggerCondition>, val sourceAddress: String, val nonce: String, val expiry: String? = null) : NoahOnchainDepositSourceTrigger

Trigger backed by a signed quote (rate-locked payout). Requires the SignedQuote obtained from a getPayoutQuote call made with quoted = true. JSON keys use PascalCase to match the Noah API wire format.

Link copied to clipboard

Response envelope metadata returned by connect-api alongside data.

Link copied to clipboard
data class NoahSellQuote(val signedQuote: String, val expiry: String)

A signed payout quote that can be used to lock in a rate.

Link copied to clipboard
data class NoahSimulatePayinData(val fiatDepositId: String, val reference: String? = null)

Successful simulated payin payload containing the synthetic deposit id Noah created on the client's behalf.

Link copied to clipboard
data class NoahSimulatePayinRequest(val paymentMethodId: String, val fiatAmount: String, val fiatCurrency: String)

Request body for POST /api/v3/clients/me/integrations/noah/payins/simulate.

Link copied to clipboard
data class NoahSimulatePayinResponse(val data: NoahSimulatePayinData, val metadata: NoahResponseMetadata? = null)

Response from POST /api/v3/clients/me/integrations/noah/payins/simulate.

data class NoahSingleOnchainDepositSourceTriggerAmountCondition(val comparisonOperator: String, val value: String)

Amount condition entry used inside NoahSingleOnchainDepositSourceTriggerInput. JSON keys use PascalCase to match the Noah API wire format.

Per-condition entry used inside NoahSingleOnchainDepositSourceTriggerInput. JSON keys use PascalCase to match the Noah API wire format.

data class NoahSingleOnchainDepositSourceTriggerInput(val type: String = "SingleOnchainDepositSourceTriggerInput", val conditions: List<NoahSingleOnchainDepositSourceTriggerCondition>, val sourceAddress: String, val expiry: String, val nonce: String) : NoahOnchainDepositSourceTrigger

Signed payout trigger describing a single on-chain deposit source.

Link copied to clipboard
data class NoahTransactionBreakdownItem(val type: String, val amount: String)

A single line item in a payout quote fee breakdown.